home *** CD-ROM | disk | FTP | other *** search
/ Apple II Magazines (PO) / Nibble Volume 12, No. 12 (1991-12)(MindCraft Publishing)(Side A)[a].zip / Nibble Volume 12, No. 12 (1991-12)(MindCraft Publishing)(Side A)[a].po / FINDQUOTE.S < prev    next >
Text File  |  1996-12-24  |  2KB  |  78 lines

  1.           REP40
  2. *  FINDQUOTE
  3. *  COPYRIGHT (C) 1982
  4. *  DIGIPAC COMPUTER CONSULTING
  5.           REP40
  6. *
  7. *  APPLESOFT USEAGE
  8. *
  9. PRGSTRT   EQU $67
  10. LINPRT    EQU $ED24
  11. OUTSPC    EQU $DB57 
  12. *
  13. *  STORAGE
  14. *
  15. STRLIN    EQU $1A 
  16. FLAG      EQU $1C 
  17. LINNUM    EQU $1D 
  18. *
  19.           ORG $300
  20. *
  21.           LDA PRGSTRT    ; FIND THE BEGINNING OF THE PROGRAM
  22.           STA STRLIN
  23.           LDA PRGSTRT+1
  24.           STA STRLIN+1
  25. NEWLIN    LDA #0         ; SET THE FLAG 
  26.           STA FLAG
  27.           LDY #$2        ; FIND AND STORE THE LINE NUMBER 
  28.           LDA (STRLIN),Y  
  29.           STA LINNUM 
  30.           INY
  31.           LDA (STRLIN),Y 
  32.           STA LINNUM+1 
  33. SRCHLN    INY
  34.           LDA (STRLIN),Y 
  35.           CMP #0         ;SEARCH FOR CARRIAGE RETURN
  36.           BEQ CHKFLG 
  37.           CMP #$22       ; SEARCH FOR QUOTE
  38.           BEQ SETFLG 
  39.           JMP SRCHLN
  40. CHKFLG    LDA FLAG
  41.           CMP #1         ; IF FLAG SET THEN
  42.           BEQ ERROR      ; PRINT LINE NUMBER
  43.           JMP EXIT       ; ELSE POSSIBLE EXIT
  44. SETFLG    LDA FLAG
  45.           CMP #1         ; IF FLAG SET THEN
  46.           BEQ RESET      ; RESET IT
  47.           LDA #1         ; ELSE SET IT
  48.           STA FLAG
  49.           JMP SRCHLN     ; CONTINUE SEARCH
  50. RESET     LDA #0         ; RESET THE FLAG TO ZERO 
  51.           STA FLAG
  52.           JMP SRCHLN
  53. ERROR     LDA LINNUM     ; RESTORE THE LINE NUMBER
  54.           TAX
  55.           LDA LINNUM+1 
  56.           JSR LINPRT     ; PRINT THE LINE NUMBER
  57.           JSR OUTSPC     ; AND A SPACE
  58. EXIT      LDY #0         ; FIND THE NEXT LINE OF PROGRAM
  59.           LDA (STRLIN),Y 
  60.           PHA
  61.           INY
  62.           LDA (STRLIN),Y 
  63.           STA STRLIN+1
  64.           PLA
  65.           STA STRLIN
  66.           LDY #0
  67.           LDA (STRLIN),Y
  68.           CMP #0         ; IF A ZERO POSSIBLE END OF PROGRAM
  69.           BEQ EXITST
  70.           JMP NEWLIN
  71. EXITST    INY            ; IF A ZERO THEN END OF PROGRAM
  72.           LDA (STRLIN),Y
  73.           CMP #0
  74.           BEQ DONE
  75.           JMP NEWLIN
  76. DONE      RTS
  77.           LSTOFF
  78.